package cn.rokhdelar.ams.management.domain.po;

import cn.rokhdelar.ams.base.BasePo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;

/**
 * 用户表
 * @author rokhdelar
 * @since 2024-10-02
 */
@TableName(value ="sys_user")
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(description = "用户表")
public class SysUser extends BasePo {
    @Schema(description = "用户ID，主键")
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    @Schema(description = "用户名")
    private String username;

    @Schema(description = "密码")
    private String password;

    @Schema(description = "用户姓名")
    private String name;

    @Schema(description = "性别")
    private Boolean gender;

    @Schema(description = "电子邮箱")
    private String email;

    @Schema(description = "手机号码")
    private String phone;

    @Schema(description = "职务")
    private String position;

    @Schema(description = "显示顺序")
    private Integer displayNum;

    @Schema(description = "出生日期")
    private LocalDate birthday;

    @Schema(description = "入职日期")
    private LocalDate hireDate;

    @Schema(description = "部门ID")
    private String departmentId;

    @Schema(description = "用户状态：true正常，false禁用")
    private Boolean status;

    @Schema(description = "密码过期时间")
    private LocalDate passwordExpireDate;

}